🎬 Все декораторы в Python — за 9 минут
Краткий, но ёмкий видео-гид, в котором вы узнаете, как работают декораторы, зачем они нужны и как применять их для написания более чистого и эффективного кода.
💡 Что вы узнаете:
— Что такое декораторы в Python
— Как использовать
— Как создавать собственные декораторы, чтобы упростить архитектуру кода
📌 Основные моменты:
0:00 — Введение и понятие декораторов
3:11 — Все встроенные декораторы Python
🔗 Ссылка на видео: https://clc.to/dBNl5Q
Библиотека питониста #буст
Краткий, но ёмкий видео-гид, в котором вы узнаете, как работают декораторы, зачем они нужны и как применять их для написания более чистого и эффективного кода.
💡 Что вы узнаете:
— Что такое декораторы в Python
— Как использовать
@staticmethod
, @classmethod
и @property
— Как создавать собственные декораторы, чтобы упростить архитектуру кода
📌 Основные моменты:
0:00 — Введение и понятие декораторов
3:11 — Все встроенные декораторы Python
🔗 Ссылка на видео: https://clc.to/dBNl5Q
Библиотека питониста #буст
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
📈 Как «ленивая разработка» захватывает IT-рынок
Пока мы выстраиваем архитектуру, пишем тесты и спорим о лучших практиках, рынок всё активнее обживают те, кто вообще не пишет код. Low-code и no-code решения не просто живы — они становятся нормой для бизнеса.
Порог входа минимальный, скорость разработки — бешеная, а заказчику всё равно, написано ли это на Java или накликано в визуальном редакторе. Вопрос: как долго останется актуальной классическая разработка?
🔗 Подробнее в статье
🐸 Библиотека джависта
Пока мы выстраиваем архитектуру, пишем тесты и спорим о лучших практиках, рынок всё активнее обживают те, кто вообще не пишет код. Low-code и no-code решения не просто живы — они становятся нормой для бизнеса.
Порог входа минимальный, скорость разработки — бешеная, а заказчику всё равно, написано ли это на Java или накликано в визуальном редакторе. Вопрос: как долго останется актуальной классическая разработка?
🔗 Подробнее в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
Собрали топовые материалы, которые наши подписчики сохраняют чаще всего.
Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!
1. uv — новый стандарт в управлении Python-проектами и пакетами
2. Бесплатный курс по фулстек-разработке — реальность
3. Интерактивная карта Python‑пакетов PyPI
4. Устали от хаоса в JSON?
5. Автоматизация с Python: от рутинных задач до DevOps
6. Poetry vs UV: какой менеджер пакетов лучше для Python?
7. Чистый код на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы не могли пройти мимо нашумевшего тренда и попросили ИИ перенести Python во вселенную Миядзаки.
Как вам образ? Расскажите в комментариях ↓
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Команда дня: `@overload` в Python
Пример:
—
—
— Типизация подскажет ошибку, если вы вызовете
Другой кейс — когда нужен только один аргумент из двух:
Так можно добиться:
✅
✅
🙅♂️
Бонус:
▶️ Попытка передать yellow вызовет ошибку ещё до выполнения кода.
▶️ @overload и Literal — мощные инструменты статической проверки, особенно в больших проектах, где важна точная типизация.
Библиотека питониста #буст
@overload
из модуля typing
позволяет указать несколько сигнатур для одной функции. Это особенно полезно, когда возвращаемый тип зависит от аргументов — и вы хотите, чтобы типизация отражала это поведение.Пример:
from typing import Literal, overload
@overload
def transform(data: str, mode: Literal["split"]) -> list[str]: ...
@overload
def transform(data: str, mode: Literal["upper"]) -> str: ...
def transform(data: str, mode: Literal["split", "upper"]) -> list[str] | str:
return data.split() if mode == "split" else data.upper()
—
transform(..., "split")
→ list[str]
—
transform(..., "upper")
→ str
— Типизация подскажет ошибку, если вы вызовете
append()
у строки или .lower()
у спискаДругой кейс — когда нужен только один аргумент из двух:
@overload
def get_user(id: int = ..., username: None = None) -> User: ...
@overload
def get_user(id: None = None, username: str = ...) -> User: ...
def get_user(id: int | None = None, username: str | None = None) -> User: ...
Так можно добиться:
get_user(id=1)
get_user(username="John")
get_user(id=1, username="John")
— не соответствует ни одной сигнатуреБонус:
Literal
позволяет ограничить значения аргументов строками:def set_color(color: Literal["red", "blue", "green"]) -> None: ...
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодняшний интернет — это не только мемы и котики, но и автозапуск видео, всплывающие окна, перегруженный JavaScript, странные архитектурные решения прошлого.
В статье разбираем:
Мечты о «перезапуске» веба с чистого листа — это не фантастика, а повод задуматься: а не пора ли нам пересмотреть старые решения?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠⚡️👟 Странные, но эффективные лайфхаки для продуктивности
Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.
ТОП-советы от пользователей Reddit — в нашей статье.
🐸 Библиотека программиста
Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.
ТОП-советы от пользователей Reddit — в нашей статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Релизы и инструменты:
— T-строки официально в Python 3.14 — новый стандарт форматирования строк
— ViperView — визуализатор pip-пакетов — смотрим зависимости проекта наглядно
— PyUiBuilder — drag-and-drop конструктор GUI на Python (tkinter и customtk)
— Bootstrapping Python-проектов с Copier — автоматизация шаблонов, uv и GitHub Actions
👍 Советы:
— Год с uv — плюсы, минусы и стоит ли переходить — опыт использования альтернативы pip+venv
— Python на скорости Rust — как добиться скорости C-подобного уровня
— Введение в MLflow: настройка и запуск — быстрый старт для трекинга экспериментов
🧪 Разработка и производительность:
— Все декораторы в Python — за 9 минут видео — компактное и наглядное объяснение
— Асинхронная обработка запросов в Python: мода или необходимость — разбор реальных кейсов
— Разработка своей системы планирования задач на Python — проект от идеи до реализации
— Мини текстовая RPG-игра на Python — отличный проект для практики
🌐 Django и веб:
— Django внедряет новую систему трекинга фич на GitHub — прозрачность и участие в разработке
— Maps with Django: GeoDjango, Pillow и GPS — создание веб-карт с данными из фотографий
— Введение в тестирование Flask-приложений — маршруты, БД и мокирование с pytest
🛠 Тестирование и автоматизация:
— UI автотесты на Python с PageObject и CI/CD — практика с Allure-отчётами
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Python | тесты, код, задания
Есть ли в Python сборщик мусора, и, если есть, как он работает?
Стандартный интерпретатор использует несколько алгоритмов.
🧹 Подсчёт ссылок. Каждый объект в Python содержит внутренний счётчик ссылок. Когда он падает до нуля, это означает, что на объект больше нет ссылок, его можно удалить. Главный недостаток этого алгоритма — не умеет определять циклические ссылки.
🧹 Алгоритм поиска циклов. Реализован в модуле gc и активируется время от времени, а не постоянно. Если коротко, этот алгоритм периодически ищет объекты, которые ссылаются только друг на друга и не доступны извне. Объекты, признанные недостижимыми, удаляются.
Также стоит добавить, что циклический сборщик мусора делит объекты на три поколения в зависимости от того, как долго они существуют в памяти. Новые объекты помещаются в первое поколение. Если они сохраняются после очередного процесса сбора мусора, то перемещаются в следующее по старшинству поколение. Объекты в более старших поколениях проверяются реже.
Релиз pip 25.1: установка групп зависимостей и вывод lock-файлов
На выходных вышел pip 25.1.
Главные новшества:
➡️ Теперь можно устанавливать группы зависимостей, например:
➡️ Добавлена экспериментальная поддержка вывода lock-файлов по стандарту PEP 751:
Полный список изменений получился внушительным. Один из мейнтейнеров подготовил краткий обзор:
👉 Что нового в pip 25.1
Полный changelog можно посмотреть здесь:
👉 Changelog pip 25.1
Библиотека питониста #свежак
На выходных вышел pip 25.1.
Главные новшества:
pip install --group test
pip lock requests -o -
Полный список изменений получился внушительным. Один из мейнтейнеров подготовил краткий обзор:
👉 Что нового в pip 25.1
Полный changelog можно посмотреть здесь:
👉 Changelog pip 25.1
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Python-разработчик — от 300 000 ₽, удалёнка
Senior Python Developer (KernelCare), удалёнка
Python-разработчик, удалёнка
Python Developer — от 220 000 ₽, удалёнка
Junior Python developer — от 100 000 до 130 000 ₽, офис (Москва)
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
📅 Важные релизы:
• Python 3.14 Beta 1
Ожидаемая дата: 6 мая 2025 года
Это важный этап разработки: после выхода беты новые функции замораживаются, а основное внимание переключается на тестирование и исправление ошибок.
• Python 3.13.4
Ожидаемая дата: вероятно, середина месяца
Релиз будет включать исправления багов и обновления безопасности в рамках регулярного двухмесячного цикла.
🌟 Ключевые мероприятия:
• PyCon US 2025 (PyCon US)
Даты проведения: 15–23 мая 2025 года
Место: Питтсбург, США
Крупнейшая конференция Python в США, объединяющая доклады, мастер-классы, хакатоны, ярмарку вакансий (Job Fair), аукцион PyLadies и другие мероприятия для разработчиков всех уровней.
• PyCon Italia 2025 (PyCon Italia)
Даты проведения: 28–31 мая 2025 года
Место: Болонья, Италия
Конференция Python в Италии с насыщенной программой: доклады, мастер-классы и социальные мероприятия — PyDrinks, PyDinner и PyFest.
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Инструмент недели: планирование задач с Rocketry
Rocketry — это фреймворк для планирования задач в Python, который позволяет легко управлять задачами и их выполнением с помощью простых выражений.
👇 В этом посте мы покажем, как быстро настроить планировщик задач, используя Rocketry.
1⃣ Установите Rocketry
Для начала установите Rocketry с помощью pip:
2⃣ Напишите первый планировщик задач
Создайте файл, например,
Этот код создаёт задачу, которая выполняется каждый день. Планировщик будет работать в фоновом режиме, выполняя задачу каждый день.
3⃣ Запуск задач
После написания кода запустите его с помощью Python:
Теперь ваша задача будет выполняться каждый день.
4⃣ Настройка различных условий
Rocketry позволяет настраивать задачи с использованием различных условий.
▶️ Задача, выполняющаяся каждые 10 секунд:
▶️ Задача, выполняющаяся каждый день после 7:00:
▶️ Задача, выполняющаяся каждый час между 22:00 и 06:00:
▶️ Задача, выполняющаяся по cron-выражению:
5⃣ Пайплайнинг задач
Rocketry поддерживает пайплайнинг задач — передача данных между задачами:
6⃣ Параллельное выполнение задач
Rocketry поддерживает выполнение задач в разных режимах: синхронно, асинхронно, в отдельных потоках и процессах:
▶️ С помощью Rocketry вы можете автоматизировать задачи с минимальными усилиями, будь то для небольших проектов или для масштабных приложений.
Библиотека питониста #буст
Rocketry — это фреймворк для планирования задач в Python, который позволяет легко управлять задачами и их выполнением с помощью простых выражений.
Для начала установите Rocketry с помощью pip:
pip install rocketry
Создайте файл, например,
scheduler.py
, и добавьте в него следующий код:from rocketry import Rocketry
from rocketry.conds import daily
app = Rocketry()
@app.task(daily)
def do_daily():
print("Эта задача выполняется каждый день!")
if __name__ == '__main__':
app.run()
Этот код создаёт задачу, которая выполняется каждый день. Планировщик будет работать в фоновом режиме, выполняя задачу каждый день.
После написания кода запустите его с помощью Python:
python scheduler.py
Теперь ваша задача будет выполняться каждый день.
Rocketry позволяет настраивать задачи с использованием различных условий.
@app.task(every("10 seconds"))
def do_continuously():
print("Эта задача выполняется каждую секунду!")
@app.task(daily.after("07:00"))
def do_daily_after_seven():
print("Эта задача выполняется каждый день после 7:00!")
@app.task(hourly & time_of_day.between("22:00", "06:00"))
def do_hourly_at_night():
print("Эта задача выполняется каждый час ночью!")
@app.task(cron("* 2 * * *"))
def do_based_on_cron():
print("Эта задача выполняется по cron-выражению!")
Rocketry поддерживает пайплайнинг задач — передача данных между задачами:
from rocketry.conds import daily, after_success
from rocketry.args import Return
@app.task(daily.after("07:00"))
def do_first():
return 'Hello World'
@app.task(after_success(do_first))
def do_second(arg=Return('do_first')):
print(f"Задача 'do_first' вернула: {arg}")
return 'Hello Python'
Rocketry поддерживает выполнение задач в разных режимах: синхронно, асинхронно, в отдельных потоках и процессах:
@app.task(daily, execution="main")
def do_unparallel():
print("Эта задача выполняется синхронно.")
@app.task(daily, execution="async")
async def do_async():
print("Эта задача выполняется асинхронно.")
@app.task(daily, execution="thread")
def do_on_separate_thread():
print("Эта задача выполняется в отдельном потоке.")
@app.task(daily, execution="process")
def do_on_separate_process():
print("Эта задача выполняется в отдельном процессе.")
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
Forwarded from Proglib.academy | IT-курсы
🐍✨ Пиши как профи: 10 Python-лайфхаков для новичков
Лайфхаки от разработчиков, обжёгшихся до вас
➡️ Что вас ждет внутри:
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
📎 Статья
🔵 Начинайте свой путь в программировании и прокачивайте свои навыки с нашим курсом «Основы программирования на Python»
Proglib Academy #буст
Лайфхаки от разработчиков, обжёгшихся до вас
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Промпт, который превратит ChatGPT в полноценного помощника при решении инженерных задач, отладки и проектирования архитектуры.
✍️ Промпт:
Act as a senior Python developer.
I will describe a project or task I'm working on. You will ask clarifying questions if needed, then help me:
— design clean architecture,
— identify edge cases,
— suggest libraries, tools, and testing strategies,
— write well-structured, production-ready code.
Please explain your reasoning and best practices throughout. Wait for my input before continuing to the next step.
— Вы получаете не просто код, а рассуждения и советы от «синьора»
— Промпт подстраивается под вашу задачу — от pet-проектов до боевых сервисов
— Подходит и для обучения, и для повышения качества решений в работе
— Решаете нетривиальную задачу и хотите second opinion
— Не уверены в архитектуре или выборе инструментов
— Хотите прокачать подход к разработке на уровне профессионала
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM